/**
 * multer
 * path
 * fs.rename
 */
const express = require('express')
const bodyParser = require('body-parser') // 解析POST 数据
const multer = require('multer')  // 新中间件：解析POST 文件
const objMulter = multer({ dest: './upload' })  // 中间间对象（{ 目标地点: '保存到目录' }）
const path = require('path')  // 原生模块
const fs = require('fs')

let server = express()
server.listen(8080)

// server.use(bodyParser.urlencoded({ extended: false }))
server.use(objMulter.any())
// objMulter.single('f1') 接收指定name为f1的文件 => <input type="file" name="f1" />
// objMulter.any() 指定任何文件

server.use('/', (req, res) => {
  // console.log(req.body)
  console.log(req.files, '上传的文件的数据')

  let pathStr = path.parse('./' + req.files[0].originalname)
  // base：文件名部分
  // ext：扩展名
  // dir：文件目录
  // name：文件名
  console.log(pathStr, '解析的文件路径')

  let newName = req.files[0].path + pathStr.ext
  console.log(newName, '修改新文件名')

  // 修改文件名：原始文件名 + 扩展名
  fs.rename(req.files[0].path, newName, err => {
    if (err) {
      res.send('上传失败')
    } else {
      res.send('上传成功')
    }
  })
})
